#define _CRT_SECURE_NO_WARNINGS 1

#include<cstdio>
#include<cstring>
#include<iostream>
#include<vector>
#include<string>
#include<cmath>

using namespace std;

//int main()
//{
//    string s;
//    vector<string> v;
//    getline(cin, s);
//    int cnt = 0;
//    int prev = 0;
//    for (int i = 0; i <= s.size(); i++)
//    {
//        if (i == s.size() || s[i] == ' ')
//        {
//            cnt++;
//            v.push_back(string(s.begin() + prev, s.begin() + i));
//            prev = i + 1;
//        }
//        else if (s[i] == '"')
//        {
//            cnt++;
//            int j = i + 1;
//            while (s[j] != '"')
//            {
//                j++;
//            }
//            v.push_back(string(s.begin() + i + 1, s.begin() + j));
//            i = j + 1;
//            prev = i + 1;
//        }
//    }
//    cout << cnt << endl;
//    for (int i = 0; i < v.size(); i++)
//    {
//        cout << v[i] << endl;
//    }
//    return 0;
//}


//typedef long long LL;
//
//const int N = 10000010;
//int a[N];
//string s1, s2;
//
//LL get_sum(string& s, int d)
//{
//    LL res = 0;
//    int cnt = 1;
//    auto it = s.rbegin();
//    while (it != s.rend())
//    {
//        res += (*it - '0') * cnt;
//        cnt *= d;
//        it++;
//    }
//    return res;
//}
//
//int get(string s, int d)
//{
//    int flag = 1;
//    for (int i = 0; i < s.size(); i++)
//    {
//        if (flag && s[i] == '1')
//        {
//            s[i] = '0';
//        }
//    }
//    return get_sum(s, d);
//}
//
//int main()
//{
//    getline(cin, s1);
//    getline(cin, s2);
//    LL sum1 = get_sum(s1, 2);
//    LL sum2 = get_sum(s2, 3);
//    string s = sum1 < sum2 ? s1 : s2;
//    int n = sum1 < sum2 ? 2 : 3;
//    int cnt = get(s, n);
//    for (int i = 0; i < s1.size(); i++)
//    {
//        int flag = 1;
//        if (s1[i] == '1') flag = -1;
//        LL tmp = sum1 + flag * (pow(2, s1.size() - 1 - i));
//        a[tmp - cnt]++;
//    }
//    for (int i = 0; i < s2.size(); i++)
//    {
//        int flag = 1;
//        for (int j = 0; j <= 2; j++)
//        {
//            if (s2[i] - '0' == j) continue;
//            if (s2[i] - '0' > j) flag = -1;
//            LL tmp = sum2 + flag * j * (pow(3, s2.size() - 1 - i));
//            if (a[tmp - cnt])
//            {
//                printf("%lld\n", tmp);
//                return 0;
//            }
//        }
//    }
//    return 0;
//}


class B
{
public:
	B()
	{
		cout << "B()" << " ";
	}
	~B()
	{
		cout << "~B()" << "";
	}
	B(int i)
	{
		cout << "BB()" << "";
	}
	int data;
};

B play(B b)
{
	return b;
}

int main()
{
	B tmp = play(5);
	return 0;
}